Talking To Casper

The python-jss module

One of the tasks we might require is talking to a Casper JSS. Casper have given us a good API for the JSS and Shea Craig has given us a good Python library to make it even easier.

Setting Up

Before we start we have to do a few things. First we need to install the module.

pip install python-jss

Now use your favourite editor to add the line

export PYTHONPATH="/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC"

to the bottom of your .bash_profile file. Then source ~/.bash_profile so the shell reads the new file.

Finally we need to write a preference file so the python-jss module knows how to access the JSS.

defaults write ~/Library/Preferences/com.github.sheagcraig.python-jss.plist jss_user 'tony.williams' defaults write ~/Library/Preferences/com.github.sheagcraig.python-jss.plist jss_pass 'ASK ME' defaults write ~/Library/Preferences/com.github.sheagcraig.python-jss.plist jss_url 'https://jss.example.com:8443'

Now we are ready. Before you can follow along you will need to make sure IPython knows all those new details. The easiest way to do that is to quit out of the IPython instance running your notebooks, close that Terminal window, open a new Terminal window and rerun ipython notebook in the right directory. Long winded I know.

Some Examples

Connect to the JSS


In [1]:
import jss

In [2]:
jss_prefs = jss.JSSPrefs()

In [3]:
j = jss.JSS(jss_prefs)

Now we are connected to the JSS and we can query it.


In [5]:
computers = j.Computer()

In [6]:
computers


Out[6]:
--------------------------------------------------
List index: 	0
id:		4
name:		Carli's Computer (5084)
--------------------------------------------------
List index: 	1
id:		5
name:		Ginny McAllister (2)
--------------------------------------------------
List index: 	2
id:		84
name:		Sardi Aworth’s iMac
--------------------------------------------------
List index: 	3
id:		10
name:		Joe's MBPro (3)
--------------------------------------------------
List index: 	4
id:		16
name:		AB’s MacBook Air
--------------------------------------------------
List index: 	5
id:		30
name:		Des iMac
--------------------------------------------------
List index: 	6
id:		34
name:		SthMelb Service Desk
--------------------------------------------------
List index: 	7
id:		60
name:		Atul Naik’s MacBook Pro (2)
--------------------------------------------------
List index: 	8
id:		152
name:		Stuart’s MacBook Pro
--------------------------------------------------
List index: 	9
id:		77
name:		CN-David Joyce
--------------------------------------------------
List index: 	10
id:		83
name:		CN-Chris Garrety
--------------------------------------------------
List index: 	11
id:		95
name:		Justin ML VM
--------------------------------------------------
List index: 	12
id:		97
name:		Ginny MacBook Pro
--------------------------------------------------
List index: 	13
id:		102
name:		Matthew’s MacBook Pro (2)
--------------------------------------------------
List index: 	14
id:		99
name:		CN-Daniel MacLaughlin
--------------------------------------------------
List index: 	15
id:		100
name:		Zac’s MacBook Pro
--------------------------------------------------
List index: 	16
id:		103
name:		Mac 20c9d07f5b3d
--------------------------------------------------
List index: 	17
id:		105
name:		Joel’s MacBook Pro
--------------------------------------------------
List index: 	18
id:		137
name:		Mark’s MacBook Pro
--------------------------------------------------
List index: 	19
id:		131
name:		Brett’s MacBook Pro
--------------------------------------------------
List index: 	20
id:		108
name:		Jon’s MacBook Pro
--------------------------------------------------
List index: 	21
id:		109
name:		Kevin’s MacBook Pro (2)
--------------------------------------------------
List index: 	22
id:		110
name:		Julie’s MacBook Pro
--------------------------------------------------
List index: 	23
id:		111
name:		DarylsRetina13
--------------------------------------------------
List index: 	24
id:		158
name:		Ivan's Computer
--------------------------------------------------
List index: 	25
id:		112
name:		CN-Carissa Kiernan (2)
--------------------------------------------------
List index: 	26
id:		144
name:		Chris’s MacBook Air (3)
--------------------------------------------------
List index: 	27
id:		113
name:		CN-Peter Cannes
--------------------------------------------------
List index: 	28
id:		114
name:		Chris’s MacBook Air
--------------------------------------------------
List index: 	29
id:		115
name:		CN-Laura Dowd
--------------------------------------------------
List index: 	30
id:		116
name:		John’s MacBook Air
--------------------------------------------------
List index: 	31
id:		117
name:		Renai’s MacBook Pro
--------------------------------------------------
List index: 	32
id:		119
name:		Andrew Hazon
--------------------------------------------------
List index: 	33
id:		122
name:		Ruhul Amin 
--------------------------------------------------
List index: 	34
id:		123
name:		m123456
--------------------------------------------------
List index: 	35
id:		128
name:		MBP
--------------------------------------------------
List index: 	36
id:		129
name:		Villa Kembali’s iMac
--------------------------------------------------
List index: 	37
id:		130
name:		philip’s MacBook Pro
--------------------------------------------------
List index: 	38
id:		132
name:		Tony Corr
--------------------------------------------------
List index: 	39
id:		133
name:		Geoff’s MacBook Pro
--------------------------------------------------
List index: 	40
id:		134
name:		Sarah’s MacBook Pro
--------------------------------------------------
List index: 	41
id:		135
name:		DomG MacBook Pro
--------------------------------------------------
List index: 	42
id:		136
name:		Joel’s MacBook Pro
--------------------------------------------------
List index: 	43
id:		138
name:		CN-Russell (3)
--------------------------------------------------
List index: 	44
id:		140
name:		James Richardson’s MacBook Pro (4)
--------------------------------------------------
List index: 	45
id:		139
name:		Vicki’s MB  Air
--------------------------------------------------
List index: 	46
id:		141
name:		Jessica’s MacBook Pro
--------------------------------------------------
List index: 	47
id:		142
name:		localhost
--------------------------------------------------
List index: 	48
id:		146
name:		traininglaptop
--------------------------------------------------
List index: 	49
id:		143
name:		Griffo's MacPro
--------------------------------------------------
List index: 	50
id:		145
name:		Rob’s MacBook Pro
--------------------------------------------------
List index: 	51
id:		147
name:		Shcott's Macbook Pro (2)
--------------------------------------------------
List index: 	52
id:		150
name:		CN-Joel Cooper (3)
--------------------------------------------------
List index: 	53
id:		148
name:		Andrew Gallaher’s MacBook Pro (2)
--------------------------------------------------
List index: 	54
id:		149
name:		jumeriah
--------------------------------------------------
List index: 	55
id:		151
name:		Kathy’s MacBook Pro
--------------------------------------------------
List index: 	56
id:		153
name:		Colour iMac 10.6’s iMac
--------------------------------------------------
List index: 	57
id:		155
name:		Maurice’s MacBook Pro
--------------------------------------------------
List index: 	58
id:		154
name:		Emma’s MacBook Air
--------------------------------------------------
List index: 	59
id:		156
name:		Duane’s MBP (2)
--------------------------------------------------
List index: 	60
id:		157
name:		Imac’s iMac
--------------------------------------------------
List index: 	61
id:		159
name:		Griffo’s MacBook Pro
--------------------------------------------------
List index: 	62
id:		160
name:		Steve’s MacBook Pro
--------------------------------------------------
List index: 	63
id:		161
name:		jeremy mba
--------------------------------------------------
List index: 	64
id:		162
name:		Scotty’s MacBook Pro
--------------------------------------------------
List index: 	65
id:		163
name:		Matthew’s MacBook
--------------------------------------------------
List index: 	66
id:		172
name:		Bren’s MacBook Pro
--------------------------------------------------
List index: 	67
id:		164
name:		AMBP.local
--------------------------------------------------
List index: 	68
id:		165
name:		Service Run-up iMac
--------------------------------------------------
List index: 	69
id:		175
name:		John's MacBook Pro
--------------------------------------------------
List index: 	70
id:		166
name:		Adam’s MacBook Pro
--------------------------------------------------
List index: 	71
id:		167
name:		The Unit (5)
--------------------------------------------------
List index: 	72
id:		170
name:		MacBook Pro (2)
--------------------------------------------------
List index: 	73
id:		169
name:		Graham’s MBA
--------------------------------------------------
List index: 	74
id:		168
name:		Jason-MBPro
--------------------------------------------------
List index: 	75
id:		171
name:		AdamC
--------------------------------------------------
List index: 	76
id:		173
name:		Fiona’s Mac
--------------------------------------------------
List index: 	77
id:		174
name:		Kylie’s Mac
--------------------------------------------------
List index: 	78
id:		176
name:		Dilanka (2)
--------------------------------------------------
List index: 	79
id:		177
name:		Anura’s MacBook Pro
--------------------------------------------------
List index: 	80
id:		178
name:		Steve’s MacBook Pro
--------------------------------------------------
List index: 	81
id:		179
name:		Amelia’s MacBook Pro
--------------------------------------------------
List index: 	82
id:		180
name:		Steve MacBook Pro 13"
--------------------------------------------------
List index: 	83
id:		181
name:		Harold's MacBook Pro
--------------------------------------------------
List index: 	84
id:		182
name:		Metta’s MacBook Pro
--------------------------------------------------
List index: 	85
id:		183
name:		Adam’s MacBook Air
--------------------------------------------------
List index: 	86
id:		184
name:		CN-Kebs-MacBook Pro
--------------------------------------------------
List index: 	87
id:		185
name:		Gerard’s MacBook Pro
--------------------------------------------------
List index: 	88
id:		186
name:		ae
--------------------------------------------------
List index: 	89
id:		187
name:		JDs MacBook Pro
--------------------------------------------------
List index: 	90
id:		188
name:		MacDwarf Retina
--------------------------------------------------
List index: 	91
id:		189
name:		Darren’s MacBook Pro (2)
--------------------------------------------------
List index: 	92
id:		190
name:		Demi’s MacBook Pro
--------------------------------------------------
List index: 	93
id:		192
name:		arwAir (2)
--------------------------------------------------
List index: 	94
id:		191
name:		Ben’s MacBook Air
--------------------------------------------------
List index: 	95
id:		193
name:		Tam’s MacBook Air
--------------------------------------------------
List index: 	96
id:		194
name:		Kylie’s Mac
--------------------------------------------------
List index: 	97
id:		195
name:		Admin’s MacBook Air
--------------------------------------------------
List index: 	98
id:		196
name:		Jarrad’s MacBook Pro
--------------------------------------------------

We get a list of all the computers. python-jss pretty print it for us but the data is there. For example:


In [7]:
computers[10]


Out[7]:
{'id': '83', 'name': 'CN-Chris Garrety'}

In [8]:
computers[10].name


Out[8]:
'CN-Chris Garrety'

If we want more information we need to retrieve a single computer record, which we do by the ID.


In [9]:
one_computer = j.Computer(134)

In [10]:
one_computer


Out[10]:
<computer>
    <general>
        <id>194</id>
        <name>Kylie&#8217;s Mac</name>
        <mac_address>00:0C:29:91:4D:48</mac_address>
        <alt_mac_address />
        <ip_address>172.17.50.240</ip_address>
        <serial_number>VM7DWIBwUokg</serial_number>
        <udid>00000000-0000-1000-8000-000C29914D48</udid>
        <jamf_version>9.7</jamf_version>
        <platform>Mac</platform>
        <barcode_1 />
        <barcode_2 />
        <asset_tag />
        <remote_management>
            <managed>true</managed>
            <management_username>casper</management_username>
            <management_password_md5 since="9.23">58b3994b2fc2536ee6d208039d3f8849</management_password_md5>
            <management_password_sha256 since="9.23">81fdff283ec2829b4002384ad18370f64e7a48618c45058e3d112d965e27f72e</management_password_sha256>
        </remote_management>
        <mdm_capable>true</mdm_capable>
        <mdm_capable_users />
        <report_date>2015-04-20 15:27:23</report_date>
        <report_date_epoch>1429507643972</report_date_epoch>
        <report_date_utc>2015-04-20T15:27:23.972+1000</report_date_utc>
        <last_contact_time />
        <last_contact_time_epoch>0</last_contact_time_epoch>
        <last_contact_time_utc />
        <initial_entry_date>2015-04-20</initial_entry_date>
        <initial_entry_date_epoch>1429504946931</initial_entry_date_epoch>
        <initial_entry_date_utc>2015-04-20T14:42:26.931+1000</initial_entry_date_utc>
        <last_cloud_backup_date_epoch>0</last_cloud_backup_date_epoch>
        <last_cloud_backup_date_utc />
        <distribution_point />
        <sus />
        <netboot_server />
        <site>
            <id>-1</id>
            <name>None</name>
        </site>
        <itunes_store_account_is_active>false</itunes_store_account_is_active>
    </general>
    <location>
        <username>kylie.hanger</username>
        <real_name>Kylie Hanger</real_name>
        <email_address>kylie.hanger@compnow.com.au</email_address>
        <position />
        <phone />
        <department />
        <building>South Melbourne</building>
        <room />
    </location>
    <purchasing>
        <is_purchased>true</is_purchased>
        <is_leased>false</is_leased>
        <po_number />
        <vendor />
        <applecare_id />
        <purchase_price />
        <purchasing_account />
        <po_date />
        <po_date_epoch>0</po_date_epoch>
        <po_date_utc />
        <warranty_expires />
        <warranty_expires_epoch>0</warranty_expires_epoch>
        <warranty_expires_utc />
        <lease_expires />
        <lease_expires_epoch>0</lease_expires_epoch>
        <lease_expires_utc />
        <life_expectancy>0</life_expectancy>
        <purchasing_contact />
        <os_applecare_id />
        <os_maintenance_expires />
        <attachments />
    </purchasing>
    <peripherals>
        <size>0</size>
    </peripherals>
    <hardware>
        <make>Apple</make>
        <model>VMware Virtual Platform</model>
        <model_identifier>VMware7,1</model_identifier>
        <os_name>Mac OS X</os_name>
        <os_version>10.9.5</os_version>
        <os_build>13F1077</os_build>
        <active_directory_status>Not Bound</active_directory_status>
        <service_pack />
        <processor_type />
        <processor_architecture>i386</processor_architecture>
        <processor_speed>2530</processor_speed>
        <processor_speed_mhz>2530</processor_speed_mhz>
        <number_processors>2</number_processors>
        <total_ram>2048</total_ram>
        <total_ram_mb>2048</total_ram_mb>
        <boot_rom>VMW71.00V.0.B64.1412192030</boot_rom>
        <bus_speed>0</bus_speed>
        <bus_speed_mhz>0</bus_speed_mhz>
        <battery_capacity>-1</battery_capacity>
        <cache_size>256</cache_size>
        <cache_size_kb>256</cache_size_kb>
        <available_ram_slots>63</available_ram_slots>
        <optical_drive>NECVMWar VMware SATA CD01</optical_drive>
        <nic_speed>10/100/1000</nic_speed>
        <smc_version>2.8f0</smc_version>
        <storage>
            <device>
                <disk>disk0</disk>
                <model>VMware Virtual SATA Hard Drive</model>
                <revision>00000001</revision>
                <serial_number>00000000000000000001</serial_number>
                <size>43981</size>
                <drive_capacity_mb>43981</drive_capacity_mb>
                <connection_type>YES</connection_type>
                <smart_status>Not Supported</smart_status>
                <partition>
                    <name>Macintosh HD (Boot Partition)</name>
                    <size>40140</size>
                    <type>boot</type>
                    <partition_capacity_mb>40140</partition_capacity_mb>
                    <percentage_full>45</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                    <lvgUUID />
                    <lvUUID />
                    <pvUUID />
                </partition>
            </device>
            <device>
                <disk>disk1</disk>
                <model />
                <revision />
                <serial_number />
                <size>0</size>
                <drive_capacity_mb>0</drive_capacity_mb>
                <connection_type />
                <smart_status />
                <partition>
                    <name>2TB</name>
                    <size>1855320</size>
                    <type>other</type>
                    <partition_capacity_mb>1855320</partition_capacity_mb>
                    <percentage_full>100</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
                <partition>
                    <name>10.9</name>
                    <size>7501</size>
                    <type>other</type>
                    <partition_capacity_mb>7501</partition_capacity_mb>
                    <percentage_full>69</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
                <partition>
                    <name>10.8</name>
                    <size>9537</size>
                    <type>other</type>
                    <partition_capacity_mb>9537</partition_capacity_mb>
                    <percentage_full>45</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
                <partition>
                    <name>10.10</name>
                    <size>9537</size>
                    <type>other</type>
                    <partition_capacity_mb>9537</partition_capacity_mb>
                    <percentage_full>53</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
                <partition>
                    <name>10.6 Server</name>
                    <size>9153</size>
                    <type>other</type>
                    <partition_capacity_mb>9153</partition_capacity_mb>
                    <percentage_full>78</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
            </device>
            <device>
                <disk>disk2</disk>
                <model />
                <revision />
                <serial_number />
                <size>0</size>
                <drive_capacity_mb>0</drive_capacity_mb>
                <connection_type />
                <smart_status />
                <partition>
                    <name>Microsoft Office 2011 14.4.8 Update</name>
                    <size>2744</size>
                    <type>other</type>
                    <partition_capacity_mb>2744</partition_capacity_mb>
                    <percentage_full>5</percentage_full>
                    <filevault_status>Not Encrypted</filevault_status>
                    <filevault_percent>0</filevault_percent>
                    <filevault2_status>Not Encrypted</filevault2_status>
                    <filevault2_percent>0</filevault2_percent>
                </partition>
            </device>
        </storage>
        <mapped_printers />
    </hardware>
    <software>
        <unix_executables />
        <licensed_software>
            <name>Microsoft Office for Mac 2011</name>
        </licensed_software>
        <installed_by_casper />
        <installed_by_installer_swu>
            <package>com.adobe.acrobat.10.viewer.app.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.appsupport.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.browser.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.preferences.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.preinstall.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.print_automator.pkg.EFG</package>
            <package>com.adobe.acrobat.10.viewer.print_pdf_services.pkg.EFG</package>
            <package>com.adobe.acrobat.a10.AcrobatUpd1011</package>
            <package>com.adobe.PDApp.AdobeApplicationManager.installer.pkg</package>
            <package>com.adobe.pkg.FlashPlayer</package>
            <package>com.apple.pkg.AdditionalEssentials</package>
            <package>com.apple.pkg.AdditionalSpeechVoices</package>
            <package>com.apple.pkg.AsianLanguagesSupport</package>
            <package>com.apple.pkg.BaseSystemBinaries</package>
            <package>com.apple.pkg.BaseSystemResources</package>
            <package>com.apple.pkg.BookKitDelta</package>
            <package>com.apple.pkg.BSD</package>
            <package>com.apple.pkg.Essentials</package>
            <package>com.apple.pkg.iBooksDelta</package>
            <package>com.apple.pkg.JavaEssentials</package>
            <package>com.apple.pkg.JavaTools</package>
            <package>com.apple.pkg.MediaFiles</package>
            <package>com.apple.pkg.OxfordDictionaries</package>
            <package>com.apple.pkg.RemoteDesktopClient</package>
            <package>com.apple.pkg.update.compatibility.2013.001</package>
            <package>com.apple.pkg.update.os.10.9.5.13F34.patch</package>
            <package>com.apple.pkg.update.security.10.9.5.13F1077.2015.004</package>
            <package>com.apple.pkg.X11redirect</package>
            <package>com.jamfsoftware.osxenrollment</package>
            <package>com.microsoft.mau.all.autoupdate.pkg.2.3.6</package>
            <package>com.microsoft.office.all.automator.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.automator.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.autoupdate.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.clipart_search9.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.core.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.core.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.dcc.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.dcc.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.equationeditor.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.equationeditor.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.errorreporting.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.excel.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.excel.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.fix_permissions.pkg.14.4.8</package>
            <package>com.microsoft.office.all.fonts.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.fonts.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.graph.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.graph.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.ooxml.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.ooxml.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.outlook.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.outlook.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.powerpoint.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.powerpoint.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_brazilian.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_brazilian.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_catalan.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_catalan.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_czech.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_czech.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_danish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_danish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_dutch.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_dutch.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_english.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_english.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_finnish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_finnish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_french.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_french.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_german.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_german.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_italian.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_italian.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_japanese.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_japanese.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_norwegian.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_norwegian.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_polish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_polish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_portuguese.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_portuguese.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_russian.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_russian.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_spanish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_spanish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_swedish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_swedish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.proofing_turkish.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.proofing_turkish.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.query_en.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.quit.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.quit.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.sharepointbrowserplugin.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.vb.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.vb.pkg.14.4.8.update</package>
            <package>com.microsoft.office.all.word.pkg.14.1.0.update</package>
            <package>com.microsoft.office.all.word.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.automator_workflow.pkg.14.0.0</package>
            <package>com.microsoft.office.en.automator_workflow.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.automator_workflow.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.automator.pkg.14.0.0</package>
            <package>com.microsoft.office.en.autoupdate.pkg.14.0.0</package>
            <package>com.microsoft.office.en.clipart.pkg.14.0.0</package>
            <package>com.microsoft.office.en.clipart.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.clipart.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.communicator.pkg.14.0.0</package>
            <package>com.microsoft.office.en.core_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.core_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.core_themes.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.core.pkg.14.0.0</package>
            <package>com.microsoft.office.en.dcc_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.dcc_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.dcc.pkg.14.0.0</package>
            <package>com.microsoft.office.en.dock.pkg.14.0.0</package>
            <package>com.microsoft.office.en.equationeditor_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.equationeditor_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.equationeditor.pkg.14.0.0</package>
            <package>com.microsoft.office.en.errorreporting.pkg.14.0.0</package>
            <package>com.microsoft.office.en.excel_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.excel_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.excel_templates.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.excel_templates.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.excel_webqueries.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.excel.pkg.14.0.0</package>
            <package>com.microsoft.office.en.flip4mac.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.fonts_fontcollection.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.fonts.pkg.14.0.0</package>
            <package>com.microsoft.office.en.graph_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.graph_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.graph.pkg.14.0.0</package>
            <package>com.microsoft.office.en.langregister.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.langregister.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.launch.pkg.14.0.0</package>
            <package>com.microsoft.office.en.licensing.pkg.14.0.0</package>
            <package>com.microsoft.office.en.messenger.pkg.14.0.0</package>
            <package>com.microsoft.office.en.ooxml.pkg.14.0.0</package>
            <package>com.microsoft.office.en.outlook_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.outlook_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.outlook.pkg.14.0.0</package>
            <package>com.microsoft.office.en.powerpoint_guidedmethods.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.powerpoint_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.powerpoint_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.powerpoint_templates.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.powerpoint.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.brazilian.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.catalan.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.czech.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.danish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.dutch.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.english.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.finnish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.french.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.german.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.italian.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.japanese.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.norwegian.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.polish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.portuguese.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.russian.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.spanish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.swedish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.proofingtools.turkish.pkg.14.0.0</package>
            <package>com.microsoft.office.en.query.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.quit.pkg.14.0.0</package>
            <package>com.microsoft.office.en.rdc.pkg.14.0.0</package>
            <package>com.microsoft.office.en.readme.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.readme.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.required_office.pkg.14.0.0</package>
            <package>com.microsoft.office.en.required.pkg.14.0.0</package>
            <package>com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.sharepointbrowserplugin.pkg.14.0.0</package>
            <package>com.microsoft.office.en.silverlight.pkg.14.0.0</package>
            <package>com.microsoft.office.en.silverlight.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.slt_std.pkg.14.0.0</package>
            <package>com.microsoft.office.en.solver.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.solver.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.sounds.pkg.14.0.0</package>
            <package>com.microsoft.office.en.sounds.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.vb_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.vb.pkg.14.0.0</package>
            <package>com.microsoft.office.en.word_resources.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.word_resources.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.word_templates.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.word_wizards.pkg.14.1.0.update</package>
            <package>com.microsoft.office.en.word_wizards.pkg.14.4.8.update</package>
            <package>com.microsoft.office.en.word.pkg.14.0.0</package>
        </installed_by_installer_swu>
        <cached_by_casper />
        <available_software_updates />
        <available_updates />
        <running_services>
            <name>0x7f8fb0c1d2b0.anonymous.UserEventAgent</name>
            <name>0x7f8fb0c3aff0.anonymous.wdhelper</name>
            <name>0x7f8fb0c3b340.anonymous.launchd</name>
            <name>0x7f8fb0c45c00.anonymous.authd</name>
            <name>0x7f8fb0c45ea0.anonymous.launchd</name>
            <name>0x7f8fb0c46e60.anonymous.launchservicesd</name>
            <name>0x7f8fb0c47110.anonymous.launchd</name>
            <name>0x7f8fb0c4b340.anonymous.launchd</name>
            <name>0x7f8fb0c4b780.anonymous.kextcache</name>
            <name>0x7f8fb0c4f860.anonymous.authd</name>
            <name>0x7f8fb0c4fb20.anonymous.launchd</name>
            <name>0x7f8fb0c64340.anonymous.com.apple.CodeS</name>
            <name>0x7f8fb0c645f0.anonymous.com.apple.CodeS</name>
            <name>0x7f8fb0c648a0.anonymous.launchd</name>
            <name>0x7f8fb0c69ea0.anonymous.launchd</name>
            <name>0x7f8fb0c724a0.anonymous.launchd</name>
            <name>0x7f8fb0c72740.anonymous.launchd</name>
            <name>0x7f8fb0c7b160.anonymous.diskarbitration</name>
            <name>0x7f8fb0c7b410.anonymous.launchd</name>
            <name>0x7f8fb0c7ba30.anonymous.NotificationCen</name>
            <name>0x7f8fb0c7bce0.anonymous.launchd</name>
            <name>0x7f8fb0c7ca50.anonymous.launchd</name>
            <name>0x7f8fb0c8add0.anonymous.com.apple.Share</name>
            <name>0x7f8fb0c8b080.anonymous.com.apple.audio</name>
            <name>0x7f8fb0c8b340.anonymous.launchd</name>
            <name>0x7f8fb0c8b5e0.anonymous.launchd</name>
            <name>0x7f8fb0ca34a0.anonymous.com.apple.Share</name>
            <name>0x7f8fb0ca3760.anonymous.launchd</name>
            <name>0x7f8fb0cb3e70.anonymous.imagent</name>
            <name>0x7f8fb0cb4120.anonymous.launchd</name>
            <name>0x7f8fb0cb43d0.anonymous.launchd</name>
            <name>0x7f8fb0cb9cc0.anonymous.com.apple.IconS</name>
            <name>0x7f8fb0cb9f80.anonymous.launchd</name>
            <name>0x7f8fb0cc2060.anonymous.IMDPersistenceA</name>
            <name>0x7f8fb0cc2320.anonymous.launchd</name>
            <name>0x7f8fb0ccaf10.anonymous.Dock</name>
            <name>0x7f8fb0ccb1b0.anonymous.launchd</name>
            <name>0x7f8fb0ccb450.anonymous.launchd</name>
            <name>0x7f8fb0cd2100.anonymous.com.apple.dock.</name>
            <name>0x7f8fb0cd23b0.anonymous.launchd</name>
            <name>0x7f8fb0cd3a70.anonymous.Finder</name>
            <name>0x7f8fb0cd3d10.anonymous.launchd</name>
            <name>0x7f8fb0cd3fb0.anonymous.launchd</name>
            <name>0x7f8fb0cd4670.anonymous.com.apple.audio</name>
            <name>0x7f8fb0cd4e40.anonymous.softwareupdated</name>
            <name>0x7f8fb0cd50f0.anonymous.launchd</name>
            <name>0x7f8fb0cdc720.anonymous.com.apple.Input</name>
            <name>0x7f8fb0cdc9d0.anonymous.launchd</name>
            <name>0x7f8fb0ce4ab0.anonymous.com.apple.appst</name>
            <name>0x7f8fb0ce4f50.anonymous.com.apple.appst</name>
            <name>0x7f8fb0ce5240.anonymous.launchd</name>
            <name>0x7f8fb0cf4a90.anonymous.mdmclient</name>
            <name>0x7f8fb0cf4d30.anonymous.launchd</name>
            <name>0x7f8fb0cf4fd0.anonymous.pkgutil</name>
            <name>0x7f8fb0d05ba0.anonymous.SystemUIServer</name>
            <name>0x7f8fb0d05ec0.anonymous.loginwindow</name>
            <name>0x7f8fb0d0f5e0.anonymous.coreaudiod</name>
            <name>0x7f8fb0d11e50.anonymous.UserEventAgent</name>
            <name>0x7f8fb0d12100.anonymous.launchd</name>
            <name>0x7f8fb0d123a0.anonymous.launchd</name>
            <name>0x7f8fb0d28f70.anonymous.com.apple.audio</name>
            <name>0x7f8fb0d39bd0.anonymous.com.apple.IconS</name>
            <name>0x7f8fb0d39f60.anonymous.IMDPersistenceA</name>
            <name>0x7f8fb0d3a280.anonymous.com.apple.dock.</name>
            <name>0x7f8fb0d46390.anonymous.com.apple.audio</name>
            <name>0x7f8fb0d46650.anonymous.launchd</name>
            <name>0x7f8fb0d46900.anonymous.TextEdit</name>
            <name>0x7f8fb0d4e730.anonymous.appleeventsd</name>
            <name>0x7f8fb0d4e9f0.anonymous.launchd</name>
            <name>0x7f8fb0d5ca10.anonymous.lsboxd</name>
            <name>0x7f8fb0d5ccc0.anonymous.launchd</name>
            <name>0x7f8fb0d5cf70.anonymous.launchd</name>
            <name>0x7f8fb0d66400.anonymous.suhelperd</name>
            <name>0x7f8fb0d666a0.anonymous.launchd</name>
            <name>0x7f8fb0d6ea80.anonymous.CalendarAgent</name>
            <name>0x7f8fb0d6ed40.anonymous.launchd</name>
            <name>0x7f8fb0d6eff0.anonymous.launchd</name>
            <name>0x7f8fb0d7e270.anonymous.Terminal</name>
            <name>0x7f8fb0d7e550.anonymous.launchd</name>
            <name>0x7f8fb0d7e7f0.anonymous.launchd</name>
            <name>0x7f8fb0d982b0.anonymous.syspolicyd</name>
            <name>0x7f8fb0d98560.anonymous.launchd</name>
            <name>0x7f8fb0d98810.anonymous.launchd</name>
            <name>0x7f8fb0d9a7d0.anonymous.PDApp</name>
            <name>0x7f8fb0db9bf0.anonymous.launchd</name>
            <name>0x7f8fb0dcd1e0.anonymous.installd</name>
            <name>0x7f8fb0dcd480.anonymous.launchd</name>
            <name>0x7f8fb0dd0210.anonymous.sh</name>
            <name>0x7f8fb0dd0510.anonymous.com.apple.Input</name>
            <name>0x7f8fb0e0efe0.anonymous.diskmanagementd</name>
            <name>0x7f8fb0e0f290.anonymous.launchd</name>
            <name>0x7f8fb0e0f530.anonymous.launchctl</name>
            <name>0x7f8fb0e1c0d0.anonymous.writeconfig</name>
            <name>0x7f8fb0e1c380.anonymous.writeconfig</name>
            <name>0x7f8fb0e1c630.anonymous.launchd</name>
            <name>com.adobe.fpsaud</name>
            <name>com.adobe.SwitchBoard</name>
            <name>com.apple.accounts.dom</name>
            <name>com.apple.afpfs_afpLoad</name>
            <name>com.apple.afpfs_checkafp</name>
            <name>com.apple.AirPlayXPCHelper</name>
            <name>com.apple.airport.updateprefs</name>
            <name>com.apple.AirPort.wps</name>
            <name>com.apple.airportd</name>
            <name>com.apple.alf</name>
            <name>com.apple.AOSNotification</name>
            <name>com.apple.appkit.xpc.documentPopoverViewService</name>
            <name>com.apple.appkit.xpc.openAndSavePanelService</name>
            <name>com.apple.appkit.xpc.sandboxedServiceRunner</name>
            <name>com.apple.appkit.xpc.VersionsUIHelper</name>
            <name>com.apple.appleseed.fbahelperd</name>
            <name>com.apple.applessdstatistics</name>
            <name>com.apple.AppSandboxSMLoginItemEnabler</name>
            <name>com.apple.appstore.PluginXPCService</name>
            <name>com.apple.apsd</name>
            <name>com.apple.aslmanager</name>
            <name>com.apple.audio.ComponentHelper</name>
            <name>com.apple.audio.coreaudiod</name>
            <name>com.apple.audio.DriverHelper</name>
            <name>com.apple.audio.InfoHelper</name>
            <name>com.apple.audio.SandboxHelper</name>
            <name>com.apple.auditd</name>
            <name>com.apple.authd</name>
            <name>com.apple.authorizationhost</name>
            <name>com.apple.autofsd</name>
            <name>com.apple.automator.xpc.workflowServiceRunner</name>
            <name>com.apple.automountd</name>
            <name>com.apple.awacsd</name>
            <name>com.apple.backupd</name>
            <name>com.apple.blued</name>
            <name>com.apple.bluetoothaudiod</name>
            <name>com.apple.bnepd</name>
            <name>com.apple.bsd.dirhelper</name>
            <name>com.apple.bsd.launchdadd</name>
            <name>com.apple.cfprefsd.xpc.daemon</name>
            <name>com.apple.CGXPCServicesAgent</name>
            <name>com.apple.CharacterPicker.FileService</name>
            <name>com.apple.cmio.AppleCameraAssistant</name>
            <name>com.apple.cmio.AVCAssistant</name>
            <name>com.apple.cmio.IIDCVideoAssistant</name>
            <name>com.apple.cmio.registerassistantservice</name>
            <name>com.apple.cmio.VDCAssistant</name>
            <name>com.apple.CMValidateMovieDataReferenceService</name>
            <name>com.apple.CodeSigningHelper</name>
            <name>com.apple.ColorSyncXPCAgent</name>
            <name>com.apple.CommerceKit.StoreAEService</name>
            <name>com.apple.configd</name>
            <name>com.apple.configureLocalKDC</name>
            <name>com.apple.coremedia.videodecoder</name>
            <name>com.apple.CoreRAID</name>
            <name>com.apple.coreservices.appleevents</name>
            <name>com.apple.coreservices.appleid.passwordcheck</name>
            <name>com.apple.coreservices.launchservicesd</name>
            <name>com.apple.coreservicesd</name>
            <name>com.apple.corestorage.corestoraged</name>
            <name>com.apple.corestorage.corestoragehelperd</name>
            <name>com.apple.coresymbolicationd</name>
            <name>com.apple.CoreText.FontDownloadHelper</name>
            <name>com.apple.cvmsServ</name>
            <name>com.apple.DataDetectors.DataDetectorsActionService</name>
            <name>com.apple.DataDetectorsDynamicData</name>
            <name>com.apple.desktopservices.KeynoteConverterXPCService32</name>
            <name>com.apple.desktopservices.KeynoteConverterXPCService64</name>
            <name>com.apple.desktopservices.NumbersConverterXPCService32</name>
            <name>com.apple.desktopservices.NumbersConverterXPCService64</name>
            <name>com.apple.desktopservices.PagesConverterXPCService32</name>
            <name>com.apple.desktopservices.PagesConverterXPCService64</name>
            <name>com.apple.DiagnosticReportCleanUpDaemon</name>
            <name>com.apple.DictionaryServiceHelper</name>
            <name>com.apple.diskarbitrationd</name>
            <name>com.apple.diskmanagementd</name>
            <name>com.apple.displaypolicyd</name>
            <name>com.apple.distnoted.xpc.daemon</name>
            <name>com.apple.dock.ecti</name>
            <name>com.apple.dock.extra</name>
            <name>com.apple.dpd</name>
            <name>com.apple.dspluginhelperd</name>
            <name>com.apple.DumpGPURestart</name>
            <name>com.apple.DumpPanic</name>
            <name>com.apple.dvdplayback.setregion</name>
            <name>com.apple.dynamic_pager</name>
            <name>com.apple.eapolcfg_auth</name>
            <name>com.apple.efilogin-helper</name>
            <name>com.apple.emond</name>
            <name>com.apple.emond.aslmanager</name>
            <name>com.apple.facebook.xpc</name>
            <name>com.apple.familycontrols</name>
            <name>com.apple.FileCoordination</name>
            <name>com.apple.findmymacd</name>
            <name>com.apple.findmymacmessenger</name>
            <name>com.apple.fontd</name>
            <name>com.apple.fontmover</name>
            <name>com.apple.FontWorker</name>
            <name>com.apple.foundation.UserScriptService</name>
            <name>com.apple.fseventsd</name>
            <name>com.apple.geod</name>
            <name>com.apple.gkreport</name>
            <name>com.apple.gssd</name>
            <name>com.apple.gssd.DE000000-A086-0100-0000-000000000000</name>
            <name>com.apple.HasTRB</name>
            <name>com.apple.hdiejectd</name>
            <name>com.apple.hidd</name>
            <name>com.apple.hiservices-xpcservice</name>
            <name>com.apple.IASUtilities.IASCloudConfigHelper</name>
            <name>com.apple.ichat.BuddyPictureService</name>
            <name>com.apple.ichat.TranscriptRenderingService</name>
            <name>com.apple.iCloudHelper</name>
            <name>com.apple.iCloudStats</name>
            <name>com.apple.IconServicesAgent</name>
            <name>com.apple.iconservicesd</name>
            <name>com.apple.IFCStart</name>
            <name>com.apple.ImageKit.MediaLibraryService</name>
            <name>com.apple.ImageKit.RecentPictureService</name>
            <name>com.apple.imdmessageservices.IMDMessageServicesAgent</name>
            <name>com.apple.imdpersistence.IMDPersistenceAgent</name>
            <name>com.apple.imfoundation.IMRemoteURLConnectionAgent</name>
            <name>com.apple.InputMethodKit.UserDictionary</name>
            <name>com.apple.installd</name>
            <name>com.apple.internetaccounts</name>
            <name>com.apple.IOAccelMemoryInfoCollector</name>
            <name>com.apple.IOBluetoothUSBDFU</name>
            <name>com.apple.kcproxy</name>
            <name>com.apple.Kerberos.digest-service</name>
            <name>com.apple.Kerberos.kadmind</name>
            <name>com.apple.Kerberos.kcm</name>
            <name>com.apple.Kerberos.kdc</name>
            <name>com.apple.Kerberos.kpasswdd</name>
            <name>com.apple.KernelEventAgent</name>
            <name>com.apple.kextd</name>
            <name>com.apple.kuncd</name>
            <name>com.apple.lakitu</name>
            <name>com.apple.laterscheduler</name>
            <name>com.apple.launchctl.System</name>
            <name>com.apple.launchd.peruser.0</name>
            <name>com.apple.launchd.peruser.200</name>
            <name>com.apple.launchd.peruser.202</name>
            <name>com.apple.launchd.peruser.212</name>
            <name>com.apple.launchd.peruser.501</name>
            <name>com.apple.launchd.peruser.55</name>
            <name>com.apple.launchd.peruser.89</name>
            <name>com.apple.linkedin.xpc</name>
            <name>com.apple.Localization.SetDefaultsService</name>
            <name>com.apple.locationd</name>
            <name>com.apple.lockd</name>
            <name>com.apple.locum</name>
            <name>com.apple.logind</name>
            <name>com.apple.loginwindow</name>
            <name>com.apple.loginwindow.LFVTracer</name>
            <name>com.apple.logkextloadsd</name>
            <name>com.apple.logsyswritesd</name>
            <name>com.apple.MailMigratorService</name>
            <name>com.apple.MailServiceAgent</name>
            <name>com.apple.ManagedClient</name>
            <name>com.apple.ManagedClient.cloudconfigurationd</name>
            <name>com.apple.ManagedClient.enroll</name>
            <name>com.apple.MapRenderingService</name>
            <name>com.apple.mbicloudsetupd</name>
            <name>com.apple.mdmclient.daemon</name>
            <name>com.apple.mDNSResponder</name>
            <name>com.apple.mDNSResponderHelper</name>
            <name>com.apple.metadata.mds</name>
            <name>com.apple.metadata.mds.index</name>
            <name>com.apple.metadata.mds.scan</name>
            <name>com.apple.metadata.mds.spindump</name>
            <name>com.apple.msrpc.lsarpc</name>
            <name>com.apple.msrpc.mdssvc</name>
            <name>com.apple.msrpc.netlogon</name>
            <name>com.apple.msrpc.srvsvc</name>
            <name>com.apple.msrpc.wkssvc</name>
            <name>com.apple.netauth.sys.auth</name>
            <name>com.apple.netauth.sys.gui</name>
            <name>com.apple.netbiosd</name>
            <name>com.apple.networkd</name>
            <name>com.apple.networkd_privileged</name>
            <name>com.apple.NetworkDiagnostics</name>
            <name>com.apple.newsyslog</name>
            <name>com.apple.nfsconf</name>
            <name>com.apple.nfsd</name>
            <name>com.apple.nis.ypbind</name>
            <name>com.apple.nlcd</name>
            <name>com.apple.noticeboard.state</name>
            <name>com.apple.notifyd</name>
            <name>com.apple.ocspd</name>
            <name>com.apple.opendirectoryd</name>
            <name>com.apple.pacemaker</name>
            <name>com.apple.PassXPCService</name>
            <name>com.apple.PCIELaneConfigTool</name>
            <name>com.apple.PDFKit.PDFFileRefsValidator</name>
            <name>com.apple.PerformanceAnalysis.animationperfd</name>
            <name>com.apple.periodic-daily</name>
            <name>com.apple.periodic-monthly</name>
            <name>com.apple.periodic-weekly</name>
            <name>com.apple.pfctl</name>
            <name>com.apple.pfd</name>
            <name>com.apple.platform.ptmd</name>
            <name>com.apple.powerd</name>
            <name>com.apple.powerd.swd</name>
            <name>com.apple.preferences.timezone.admintool</name>
            <name>com.apple.preferences.timezone.auto</name>
            <name>com.apple.printtool.daemon</name>
            <name>com.apple.qtkitserver</name>
            <name>com.apple.racoon</name>
            <name>com.apple.RemoteDesktop.PrivilegeProxy</name>
            <name>com.apple.RemotePairTool</name>
            <name>com.apple.ReportCrash.Root</name>
            <name>com.apple.ReportPanicService</name>
            <name>com.apple.revisiond</name>
            <name>com.apple.RFBEventHelper</name>
            <name>com.apple.rpcbind</name>
            <name>com.apple.SafariServices</name>
            <name>com.apple.sandboxd</name>
            <name>com.apple.SceneKit.C3DColladaResourcesCoordinator</name>
            <name>com.apple.SCHelper</name>
            <name>com.apple.scsid</name>
            <name>com.apple.security.agentMain</name>
            <name>com.apple.security.agentMain.00000000-0000-0000-0000-0000000186A4</name>
            <name>com.apple.security.agentStub</name>
            <name>com.apple.security.authhost</name>
            <name>com.apple.security.authhost.00000000-0000-0000-0000-0000000186A4</name>
            <name>com.apple.security.pboxd</name>
            <name>com.apple.security.syspolicy</name>
            <name>com.apple.security.XPCKeychainSandboxCheck</name>
            <name>com.apple.security.XPCTimeStampingService</name>
            <name>com.apple.securityd</name>
            <name>com.apple.securityd_service</name>
            <name>com.apple.ServerPerfLog</name>
            <name>com.apple.ServerPerfLog.aslmanager</name>
            <name>com.apple.sessionlogoutd</name>
            <name>com.apple.ShareKitHelper</name>
            <name>com.apple.shutdown_monitor</name>
            <name>com.apple.sleepservicesd</name>
            <name>com.apple.smb.preferences</name>
            <name>com.apple.snhelper</name>
            <name>com.apple.softwareupdatecheck.initial</name>
            <name>com.apple.softwareupdated</name>
            <name>com.apple.speech.speechsynthesisd</name>
            <name>com.apple.spindump</name>
            <name>com.apple.spindump_symbolicator</name>
            <name>com.apple.stackshot</name>
            <name>com.apple.statd.notify</name>
            <name>com.apple.StoreBookMetadataService</name>
            <name>com.apple.storereceiptinstaller</name>
            <name>com.apple.SubmitDiagInfo.Root</name>
            <name>com.apple.suhelperd</name>
            <name>com.apple.syslogd</name>
            <name>com.apple.sysmond</name>
            <name>com.apple.systemadministration.writeconfig</name>
            <name>com.apple.systemkeychain</name>
            <name>com.apple.systempreferences.install</name>
            <name>com.apple.SystemStarter</name>
            <name>com.apple.systemstats.analysis</name>
            <name>com.apple.systemstats.daily</name>
            <name>com.apple.systemstatsd</name>
            <name>com.apple.systemuiserver.scriptrunner</name>
            <name>com.apple.taskgated</name>
            <name>com.apple.taskgated-helper</name>
            <name>com.apple.tccd.system</name>
            <name>com.apple.tencentweibo.xpc</name>
            <name>com.apple.TrustEvaluationAgent.system</name>
            <name>com.apple.twitter.xpc</name>
            <name>com.apple.ucupdate.plist</name>
            <name>com.apple.uninstalld</name>
            <name>com.apple.unmountassistant.sysagent</name>
            <name>com.apple.usbd</name>
            <name>com.apple.usbmuxd</name>
            <name>com.apple.UserEventAgent-System</name>
            <name>com.apple.UserNotificationCenter</name>
            <name>com.apple.var-db-dslocal-backup</name>
            <name>com.apple.vsdbutil</name>
            <name>com.apple.warmd</name>
            <name>com.apple.wdhelper</name>
            <name>com.apple.WeatherKitService</name>
            <name>com.apple.webdavfs_load_kext</name>
            <name>com.apple.WebKit.Networking</name>
            <name>com.apple.WebKit.Networking.Development</name>
            <name>com.apple.WebKit.OfflineStorage</name>
            <name>com.apple.WebKit.OfflineStorage.Development</name>
            <name>com.apple.WebKit.Plugin.32</name>
            <name>com.apple.WebKit.Plugin.64</name>
            <name>com.apple.WebKit.Plugin.Development</name>
            <name>com.apple.WebKit.WebContent</name>
            <name>com.apple.WebKit.WebContent.Development</name>
            <name>com.apple.weibo.xpc</name>
            <name>com.apple.wifid</name>
            <name>com.apple.WindowServer</name>
            <name>com.apple.wwand</name>
            <name>com.apple.xpcd</name>
            <name>com.apple.xpcd.00000000-0000-0000-0000-000000000000</name>
            <name>com.apple.xpcd.37000000-0000-0000-0000-000000000000</name>
            <name>com.apple.xpcd.C8000000-0000-0000-0000-000000000000</name>
            <name>com.apple.xpcd.CA000000-0000-0000-0000-000000000000</name>
            <name>com.apple.xpcd.F5010000-0000-0000-0000-000000000000</name>
            <name>com.microsoft.office.licensing.helper</name>
            <name>com.openssh.sshd</name>
            <name>com.vix.cron</name>
            <name>org.cups.cupsd</name>
            <name>org.ntp.ntpd</name>
            <name>org.postfix.master</name>
        </running_services>
        <applications>
            <size>107</size>
            <application>
                <name>AAM Registration Notifier.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/LWA/AAM Registration Notifier.app</path>
                <version>3.0.64.0</version>
            </application>
            <application>
                <name>AAM Registration Notifier.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/P6/AAM Registration Notifier.app</path>
                <version>6.0.335.0</version>
            </application>
            <application>
                <name>AAM Updates Notifier.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/UWA/AAM Updates Notifier.app</path>
                <version>6.0.335.0</version>
            </application>
            <application>
                <name>Acrobat Distiller.app</name>
                <path>/Applications/Adobe Acrobat X Pro/Acrobat Distiller.app</path>
                <version>10.1.1</version>
            </application>
            <application>
                <name>Activity Monitor.app</name>
                <path>/Applications/Utilities/Activity Monitor.app</path>
                <version>10.9.0</version>
            </application>
            <application>
                <name>Adobe Acrobat Pro.app</name>
                <path>/Applications/Adobe Acrobat X Pro/Adobe Acrobat Pro.app</path>
                <version>10.1.1</version>
            </application>
            <application>
                <name>Adobe AIR Application Installer.app</name>
                <path>/Applications/Utilities/Adobe AIR Application Installer.app</path>
                <version>3.1</version>
            </application>
            <application>
                <name>Adobe AIR Uninstaller.app</name>
                <path>/Applications/Utilities/Adobe AIR Uninstaller.app</path>
                <version>3.1</version>
            </application>
            <application>
                <name>Adobe Application Manager.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/core/Adobe Application Manager.app</path>
                <version>6.0.335.0</version>
            </application>
            <application>
                <name>Adobe Bridge CS6.app</name>
                <path>/Applications/Adobe Bridge CS6/Adobe Bridge CS6.app</path>
                <version>5.0.0.399</version>
            </application>
            <application>
                <name>Adobe Extension Manager CS6.app</name>
                <path>/Applications/Adobe Extension Manager CS6/Adobe Extension Manager CS6.app</path>
                <version>"6.0.0.412"</version>
            </application>
            <application>
                <name>Adobe Flash Player Install Manager.app</name>
                <path>/Applications/Utilities/Adobe Flash Player Install Manager.app</path>
                <version>17.0.0.169</version>
            </application>
            <application>
                <name>Adobe Help.app</name>
                <path>/Applications/Adobe/Adobe Help.app</path>
                <version>4.0.244</version>
            </application>
            <application>
                <name>Adobe Illustrator.app</name>
                <path>/Applications/Adobe Illustrator CS6/Adobe Illustrator.app</path>
                <version>682</version>
            </application>
            <application>
                <name>Adobe InDesign CS6.app</name>
                <path>/Applications/Adobe InDesign CS6/Adobe InDesign CS6.app</path>
                <version>8.0.0.370</version>
            </application>
            <application>
                <name>Adobe Media Encoder CS6.app</name>
                <path>/Applications/Adobe Media Encoder CS6/Adobe Media Encoder CS6.app</path>
                <version>6.0.0</version>
            </application>
            <application>
                <name>Adobe Photoshop CS6.app</name>
                <path>/Applications/Adobe Photoshop CS6/Adobe Photoshop CS6.app</path>
                <version>13.0.0</version>
            </application>
            <application>
                <name>adobe_licutil.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/LWA/adobe_licutil.app</path>
                <version>Adobe License Utility 2.0.0.10 (BuildVersion: 2.0; BuildDate: Tue Jul 05 2011 18:00:00)</version>
            </application>
            <application>
                <name>adobe_licutil.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/P6/adobe_licutil.app</path>
                <version>Adobe License Utility 6.0.0.114 (BuildVersion: 6.0; BuildDate: Tue Apr 03 2012 18:00:00)</version>
            </application>
            <application>
                <name>AirPort Utility.app</name>
                <path>/Applications/Utilities/AirPort Utility.app</path>
                <version>6.3.2</version>
            </application>
            <application>
                <name>Analyze Documents.app</name>
                <path>/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Analyze Documents.localized/Analyze Documents.app</path>
                <version>n/a</version>
            </application>
            <application>
                <name>App Store.app</name>
                <path>/Applications/App Store.app</path>
                <version>1.3</version>
            </application>
            <application>
                <name>AppleScript Editor.app</name>
                <path>/Applications/Utilities/AppleScript Editor.app</path>
                <version>2.6.1</version>
            </application>
            <application>
                <name>Audio MIDI Setup.app</name>
                <path>/Applications/Utilities/Audio MIDI Setup.app</path>
                <version>3.0.6</version>
            </application>
            <application>
                <name>Automator.app</name>
                <path>/Applications/Automator.app</path>
                <version>2.4</version>
            </application>
            <application>
                <name>Bluetooth File Exchange.app</name>
                <path>/Applications/Utilities/Bluetooth File Exchange.app</path>
                <version>4.2.7</version>
            </application>
            <application>
                <name>Boot Camp Assistant.app</name>
                <path>/Applications/Utilities/Boot Camp Assistant.app</path>
                <version>5.1.2</version>
            </application>
            <application>
                <name>Calculator.app</name>
                <path>/Applications/Calculator.app</path>
                <version>10.8</version>
            </application>
            <application>
                <name>Calendar.app</name>
                <path>/Applications/Calendar.app</path>
                <version>7.0</version>
            </application>
            <application>
                <name>Chess.app</name>
                <path>/Applications/Chess.app</path>
                <version>3.10</version>
            </application>
            <application>
                <name>ColorSync Utility.app</name>
                <path>/Applications/Utilities/ColorSync Utility.app</path>
                <version>4.9.0</version>
            </application>
            <application>
                <name>Console.app</name>
                <path>/Applications/Utilities/Console.app</path>
                <version>10.9</version>
            </application>
            <application>
                <name>Contact Sheets.app</name>
                <path>/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Contact Sheet Demo.localized/Contact Sheets.app</path>
                <version>n/a</version>
            </application>
            <application>
                <name>Contacts.app</name>
                <path>/Applications/Contacts.app</path>
                <version>8.0</version>
            </application>
            <application>
                <name>Dashboard.app</name>
                <path>/Applications/Dashboard.app</path>
                <version>1.8</version>
            </application>
            <application>
                <name>Dictionary.app</name>
                <path>/Applications/Dictionary.app</path>
                <version>2.2.1</version>
            </application>
            <application>
                <name>DigitalColor Meter.app</name>
                <path>/Applications/Utilities/DigitalColor Meter.app</path>
                <version>5.9</version>
            </application>
            <application>
                <name>Disk Utility.app</name>
                <path>/Applications/Utilities/Disk Utility.app</path>
                <version>13</version>
            </application>
            <application>
                <name>DVD Player.app</name>
                <path>/Applications/DVD Player.app</path>
                <version>5.7</version>
            </application>
            <application>
                <name>Equation Editor.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Equation Editor.app</path>
                <version>14.2.0</version>
            </application>
            <application>
                <name>Export Flash Animation.app</name>
                <path>/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Export Flash Animation.localized/Export Flash Animation.app</path>
                <version>n/a</version>
            </application>
            <application>
                <name>ExtendScript Toolkit.app</name>
                <path>/Applications/Utilities/Adobe Utilities-CS6.localized/ExtendScript Toolkit CS6/ExtendScript Toolkit.app</path>
                <version>ESTK CS6 3.8.0.12</version>
            </application>
            <application>
                <name>FaceTime.app</name>
                <path>/Applications/FaceTime.app</path>
                <version>3.0</version>
            </application>
            <application>
                <name>Firefox.app</name>
                <path>/Applications/Firefox.app</path>
                <version>37.0.1</version>
            </application>
            <application>
                <name>Font Book.app</name>
                <path>/Applications/Font Book.app</path>
                <version>5.0.1</version>
            </application>
            <application>
                <name>Game Center.app</name>
                <path>/Applications/Game Center.app</path>
                <version>1.1</version>
            </application>
            <application>
                <name>Google Chrome.app</name>
                <path>/Applications/Google Chrome.app</path>
                <version>42.0.2311.90</version>
            </application>
            <application>
                <name>Grab.app</name>
                <path>/Applications/Utilities/Grab.app</path>
                <version>1.8</version>
            </application>
            <application>
                <name>Grapher.app</name>
                <path>/Applications/Utilities/Grapher.app</path>
                <version>2.5</version>
            </application>
            <application>
                <name>iBooks.app</name>
                <path>/Applications/iBooks.app</path>
                <version>1.0.1</version>
            </application>
            <application>
                <name>Image Capture.app</name>
                <path>/Applications/Image Capture.app</path>
                <version>6.3</version>
            </application>
            <application>
                <name>iTunes.app</name>
                <path>/Applications/iTunes.app</path>
                <version>11.2.1</version>
            </application>
            <application>
                <name>Keychain Access.app</name>
                <path>/Applications/Utilities/Keychain Access.app</path>
                <version>9.0</version>
            </application>
            <application>
                <name>Launchpad.app</name>
                <path>/Applications/Launchpad.app</path>
                <version>1.0</version>
            </application>
            <application>
                <name>LogTransport2.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/UWA/LogTransport2.app</path>
                <version>2.0.1.011</version>
            </application>
            <application>
                <name>Mail.app</name>
                <path>/Applications/Mail.app</path>
                <version>7.3</version>
            </application>
            <application>
                <name>Make Calendar.app</name>
                <path>/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Calendar.localized/Make Calendar.app</path>
                <version>n/a</version>
            </application>
            <application>
                <name>Maps.app</name>
                <path>/Applications/Maps.app</path>
                <version>1.0</version>
            </application>
            <application>
                <name>Messages.app</name>
                <path>/Applications/Messages.app</path>
                <version>8.0</version>
            </application>
            <application>
                <name>Microsoft Alerts Daemon.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Alerts Daemon.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Chart Converter.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Chart Converter.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Clip Gallery.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Clip Gallery.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Communicator.app</name>
                <path>/Applications/Microsoft Communicator.app</path>
                <version>13.0.0</version>
            </application>
            <application>
                <name>Microsoft Database Daemon.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Database Daemon.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Database Utility.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Database Utility.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Document Connection.app</name>
                <path>/Applications/Microsoft Office 2011/Microsoft Document Connection.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Excel.app</name>
                <path>/Applications/Microsoft Office 2011/Microsoft Excel.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Graph.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Graph.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Language Register.app</name>
                <path>/Applications/Microsoft Office 2011/Additional Tools/Microsoft Language Register/Microsoft Language Register.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Messenger.app</name>
                <path>/Applications/Microsoft Messenger.app</path>
                <version>8.0.0</version>
            </application>
            <application>
                <name>Microsoft Office Reminders.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Office Reminders.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Office Setup Assistant.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Office Setup Assistant.app</path>
                <version>14.0.0</version>
            </application>
            <application>
                <name>Microsoft Outlook.app</name>
                <path>/Applications/Microsoft Office 2011/Microsoft Outlook.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft PowerPoint.app</name>
                <path>/Applications/Microsoft Office 2011/Microsoft PowerPoint.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Query.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Query.app</path>
                <version>12.0.0</version>
            </application>
            <application>
                <name>Microsoft Upload Center.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Microsoft Upload Center.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Microsoft Word.app</name>
                <path>/Applications/Microsoft Office 2011/Microsoft Word.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Migration Assistant.app</name>
                <path>/Applications/Utilities/Migration Assistant.app</path>
                <version>5</version>
            </application>
            <application>
                <name>Mission Control.app</name>
                <path>/Applications/Mission Control.app</path>
                <version>1.2</version>
            </application>
            <application>
                <name>My Day.app</name>
                <path>/Applications/Microsoft Office 2011/Office/My Day.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Notes.app</name>
                <path>/Applications/Notes.app</path>
                <version>2.0</version>
            </application>
            <application>
                <name>Office365Service.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Office365Service.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>Open XML for Excel.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Open XML for Excel.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>PDApp.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/core/PDApp.app</path>
                <version>6.0.335.0</version>
            </application>
            <application>
                <name>Photo Booth.app</name>
                <path>/Applications/Photo Booth.app</path>
                <version>6.0</version>
            </application>
            <application>
                <name>Preview.app</name>
                <path>/Applications/Preview.app</path>
                <version>7.0</version>
            </application>
            <application>
                <name>QuickTime Player.app</name>
                <path>/Applications/QuickTime Player.app</path>
                <version>10.3</version>
            </application>
            <application>
                <name>Reminders.app</name>
                <path>/Applications/Reminders.app</path>
                <version>2.0</version>
            </application>
            <application>
                <name>Remote Desktop Connection.app</name>
                <path>/Applications/Remote Desktop Connection.app</path>
                <version>2.1.0</version>
            </application>
            <application>
                <name>Safari.app</name>
                <path>/Applications/Safari.app</path>
                <version>7.0.6</version>
            </application>
            <application>
                <name>Self Service.app</name>
                <path>/Applications/Self Service.app</path>
                <version>9.7</version>
            </application>
            <application>
                <name>Setup.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/D6/Setup.app</path>
                <version>6.0.98.0</version>
            </application>
            <application>
                <name>Setup.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/DECore/Setup.app</path>
                <version>6.0.98.0</version>
            </application>
            <application>
                <name>Setup.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/DWA/Setup.app</path>
                <version>5.0.65.0</version>
            </application>
            <application>
                <name>Solver.app</name>
                <path>/Applications/Microsoft Office 2011/Office/Add-Ins/Solver.app</path>
                <version>1.0</version>
            </application>
            <application>
                <name>Stickies.app</name>
                <path>/Applications/Stickies.app</path>
                <version>10.0</version>
            </application>
            <application>
                <name>SyncServicesAgent.app</name>
                <path>/Applications/Microsoft Office 2011/Office/SyncServicesAgent.app</path>
                <version>14.4.8</version>
            </application>
            <application>
                <name>System Information.app</name>
                <path>/Applications/Utilities/System Information.app</path>
                <version>10.9</version>
            </application>
            <application>
                <name>System Preferences.app</name>
                <path>/Applications/System Preferences.app</path>
                <version>13.0</version>
            </application>
            <application>
                <name>Terminal.app</name>
                <path>/Applications/Utilities/Terminal.app</path>
                <version>2.4</version>
            </application>
            <application>
                <name>TextEdit.app</name>
                <path>/Applications/TextEdit.app</path>
                <version>1.9</version>
            </application>
            <application>
                <name>Time Machine.app</name>
                <path>/Applications/Time Machine.app</path>
                <version>1.3</version>
            </application>
            <application>
                <name>Uninstall Product.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/DECore/DE5/resources/uninstall/Uninstall Product.app</path>
                <version>5.0.65.0</version>
            </application>
            <application>
                <name>Uninstall Product.app</name>
                <path>/Applications/Utilities/Adobe Application Manager/DECore/DE6/resources/uninstall/Uninstall Product.app</path>
                <version>6.0.98.0</version>
            </application>
            <application>
                <name>VoiceOver Utility.app</name>
                <path>/Applications/Utilities/VoiceOver Utility.app</path>
                <version>6.0</version>
            </application>
            <application>
                <name>Web Gallery.app</name>
                <path>/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Web Gallery.localized/Web Gallery.app</path>
                <version>n/a</version>
            </application>
            <application>
                <name>X11.app</name>
                <path>/Applications/Utilities/X11.app</path>
                <version>1.0</version>
            </application>
        </applications>
        <fonts>
            <size>0</size>
        </fonts>
        <plugins>
            <size>9</size>
            <plugin>
                <name>AdobePDFViewer.plugin</name>
                <path>/Library/Internet Plug-Ins/AdobePDFViewer.plugin</path>
                <version>10.1.1</version>
            </plugin>
            <plugin>
                <name>Default Browser.plugin</name>
                <path>/Library/Internet Plug-Ins/Default Browser.plugin</path>
                <version>537</version>
            </plugin>
            <plugin>
                <name>Flash Player.plugin</name>
                <path>/Library/Internet Plug-Ins/Flash Player.plugin</path>
                <version>17.0.0.169</version>
            </plugin>
            <plugin>
                <name>flashplayer.xpt</name>
                <path>/Library/Internet Plug-Ins/flashplayer.xpt</path>
                <version>n/a</version>
            </plugin>
            <plugin>
                <name>nsIQTScriptablePlugin.xpt</name>
                <path>/Library/Internet Plug-Ins/nsIQTScriptablePlugin.xpt</path>
                <version>n/a</version>
            </plugin>
            <plugin>
                <name>Quartz Composer.webplugin</name>
                <path>/Library/Internet Plug-Ins/Quartz Composer.webplugin</path>
                <version>1.4</version>
            </plugin>
            <plugin>
                <name>QuickTime Plugin.plugin</name>
                <path>/Library/Internet Plug-Ins/QuickTime Plugin.plugin</path>
                <version>7.7.3</version>
            </plugin>
            <plugin>
                <name>SharePointBrowserPlugin.plugin</name>
                <path>/Library/Internet Plug-Ins/SharePointBrowserPlugin.plugin</path>
                <version>14.4.8</version>
            </plugin>
            <plugin>
                <name>SharePointWebKitPlugin.webplugin</name>
                <path>/Library/Internet Plug-Ins/SharePointWebKitPlugin.webplugin</path>
                <version>14.4.8</version>
            </plugin>
        </plugins>
    </software>
    <extension_attributes>
        <extension_attribute>
            <id>5</id>
            <name>Active Network Interface</name>
            <type>String</type>
            <value>Ethernet</value>
        </extension_attribute>
        <extension_attribute>
            <id>2</id>
            <name>Battery Cycle Count</name>
            <type>Number</type>
            <value />
        </extension_attribute>
        <extension_attribute>
            <id>1</id>
            <name>Battery Health Status</name>
            <type>String</type>
            <value />
        </extension_attribute>
        <extension_attribute>
            <id>4</id>
            <name>ClamXav - Virus Definition Date</name>
            <type>Date</type>
            <value>Not installed</value>
        </extension_attribute>
        <extension_attribute>
            <id>9</id>
            <name>CN Invoice Number</name>
            <type>Date</type>
            <value />
        </extension_attribute>
        <extension_attribute>
            <id>6</id>
            <name>Current AirPort Network</name>
            <type>String</type>
            <value>All Wi-Fi network services are disabled.</value>
        </extension_attribute>
        <extension_attribute>
            <id>7</id>
            <name>Host name</name>
            <type>String</type>
            <value>npi269c59.compnow.com.au</value>
        </extension_attribute>
        <extension_attribute>
            <id>3</id>
            <name>IP Geo-Location</name>
            <type>String</type>
            <value>,  - </value>
        </extension_attribute>
        <extension_attribute>
            <id>12</id>
            <name>Java Version</name>
            <type>String</type>
            <value>Not Available</value>
        </extension_attribute>
        <extension_attribute>
            <id>14</id>
            <name>Profiles Installed</name>
            <type>String</type>
            <value>    MDM Profile </value>
        </extension_attribute>
        <extension_attribute>
            <id>11</id>
            <name>Recovery HD Present</name>
            <type>String</type>
            <value>Present</value>
        </extension_attribute>
        <extension_attribute>
            <id>10</id>
            <name>S.M.A.R.T. Check</name>
            <type>String</type>
            <value />
        </extension_attribute>
        <extension_attribute>
            <id>8</id>
            <name>Time Machine - Status</name>
            <type>String</type>
            <value>Disabled</value>
        </extension_attribute>
        <extension_attribute>
            <id>13</id>
            <name>VMware - Virtual Machine List</name>
            <type>String</type>
            <value>
</value>
        </extension_attribute>
    </extension_attributes>
    <groups_accounts>
        <computer_group_memberships>
            <group>All Managed Clients</group>
            <group>Has Office 2011 Installed</group>
            <group>Hansa 5.3 not installed</group>
            <group>10.9 Computers</group>
            <group>Virtuals</group>
            <group>Microsoft Remote Desktop Not Installed</group>
            <group>No Check-in 14 days</group>
        </computer_group_memberships>
        <local_accounts>
            <user>
                <name>kylie</name>
                <realname>Kylie Hanger</realname>
                <uid>501</uid>
                <home>/Users/kylie</home>
                <home_size>310MB</home_size>
                <home_size_mb>310</home_size_mb>
                <administrator>true</administrator>
                <filevault_enabled>false</filevault_enabled>
            </user>
        </local_accounts>
    </groups_accounts>
    <iphones>
        <size>0</size>
    </iphones>
    <configuration_profiles>
        <size>1</size>
        <configuration_profile>
            <id>-2</id>
            <name />
            <uuid />
        </configuration_profile>
    </configuration_profiles>
</computer>

As you can see the JSS gives us the data as a bunch of XML. Fortunately casper-jss provides some methods to get at the data in the XML courtesy of the use of the ElementTree module. You can read about it at ElementTree in the Python documentation and ElementTree Overview.

What exactly can we do? Some information is easily retrieved.


In [11]:
one_computer.serial_number


Out[11]:
'VM7DWIBwUokg'

Other information is harder to get.

The find function searches through the child elements in our XML and returns the first element it finds.


In [16]:
jamf = one_computer.find('general/jamf_version')

In [18]:
jamf.tag


Out[18]:
'jamf_version'

In [19]:
jamf.text


Out[19]:
'9.7'

This represents the XML:

<jamf_version>9.7</jamf_version>

We could also call jamf.attrib but the XML we get from the JSS has no attributes. Attributes are found in the opening tag like so <tag attrib1=data> but not in our XML.

The findall function returns a list of all descendent elements that match the string. In the next example we are going to use XPATH syntax.

I'm also going to show how I use IPython to explore data structures and develop code. I'm going to develop a script that returns the serial number, user name and version of Firefox that is installed.

Start by looking at the XML above and you can see thst there is an element applications that holds a list of elements tagged applications that holds the name and version number. That's what we will use.


In [25]:
apps = one_computer.findall('.//application')

In [26]:
apps


Out[26]:
[<Element 'application' at 0x10770c3d0>,
 <Element 'application' at 0x10770c290>,
 <Element 'application' at 0x10770c510>,
 <Element 'application' at 0x10770c790>,
 <Element 'application' at 0x10770ca10>,
 <Element 'application' at 0x10770cc10>,
 <Element 'application' at 0x10770ce10>,
 <Element 'application' at 0x105d1af90>,
 <Element 'application' at 0x105d1ac90>,
 <Element 'application' at 0x105d1a910>,
 <Element 'application' at 0x105d1a3d0>,
 <Element 'application' at 0x105d1a990>,
 <Element 'application' at 0x105d1a1d0>,
 <Element 'application' at 0x105d1a590>,
 <Element 'application' at 0x105d1a810>,
 <Element 'application' at 0x105d1ab90>,
 <Element 'application' at 0x105d1ad50>,
 <Element 'application' at 0x105d1afd0>,
 <Element 'application' at 0x10772d990>,
 <Element 'application' at 0x10772d210>,
 <Element 'application' at 0x10772db90>,
 <Element 'application' at 0x10772d890>,
 <Element 'application' at 0x10772dc10>,
 <Element 'application' at 0x10772d810>,
 <Element 'application' at 0x10772d250>,
 <Element 'application' at 0x10772d450>,
 <Element 'application' at 0x10772d650>,
 <Element 'application' at 0x10772d850>,
 <Element 'application' at 0x10772da50>,
 <Element 'application' at 0x10772dcd0>,
 <Element 'application' at 0x10772df50>,
 <Element 'application' at 0x10773eb90>,
 <Element 'application' at 0x10773e790>,
 <Element 'application' at 0x10773e210>,
 <Element 'application' at 0x10773e810>,
 <Element 'application' at 0x10773e190>,
 <Element 'application' at 0x10773e690>,
 <Element 'application' at 0x10773e990>,
 <Element 'application' at 0x10773e1d0>,
 <Element 'application' at 0x10773e450>,
 <Element 'application' at 0x10773e6d0>,
 <Element 'application' at 0x10773e950>,
 <Element 'application' at 0x10773ebd0>,
 <Element 'application' at 0x10773edd0>,
 <Element 'application' at 0x10774f150>,
 <Element 'application' at 0x10774f750>,
 <Element 'application' at 0x10774f210>,
 <Element 'application' at 0x10774f7d0>,
 <Element 'application' at 0x10774fd50>,
 <Element 'application' at 0x10774fed0>,
 <Element 'application' at 0x10774fc90>,
 <Element 'application' at 0x10774f110>,
 <Element 'application' at 0x10774f410>,
 <Element 'application' at 0x10774f650>,
 <Element 'application' at 0x10774f850>,
 <Element 'application' at 0x10774fa50>,
 <Element 'application' at 0x10774fc50>,
 <Element 'application' at 0x10774fe50>,
 <Element 'application' at 0x107789d90>,
 <Element 'application' at 0x107789990>,
 <Element 'application' at 0x107789510>,
 <Element 'application' at 0x107789310>,
 <Element 'application' at 0x107789e50>,
 <Element 'application' at 0x107789a50>,
 <Element 'application' at 0x107789690>,
 <Element 'application' at 0x107789710>,
 <Element 'application' at 0x107789210>,
 <Element 'application' at 0x1077894d0>,
 <Element 'application' at 0x107789750>,
 <Element 'application' at 0x107789950>,
 <Element 'application' at 0x107789b50>,
 <Element 'application' at 0x107789d50>,
 <Element 'application' at 0x107789f50>,
 <Element 'application' at 0x107799c10>,
 <Element 'application' at 0x107799790>,
 <Element 'application' at 0x107799410>,
 <Element 'application' at 0x107799990>,
 <Element 'application' at 0x107799a10>,
 <Element 'application' at 0x107799210>,
 <Element 'application' at 0x1077996d0>,
 <Element 'application' at 0x107799250>,
 <Element 'application' at 0x107799490>,
 <Element 'application' at 0x107799690>,
 <Element 'application' at 0x107799890>,
 <Element 'application' at 0x107799b50>,
 <Element 'application' at 0x107799d50>,
 <Element 'application' at 0x107799f50>,
 <Element 'application' at 0x1077aae10>,
 <Element 'application' at 0x1077aaa10>,
 <Element 'application' at 0x1077aa810>,
 <Element 'application' at 0x1077aa410>,
 <Element 'application' at 0x1077aa610>,
 <Element 'application' at 0x1077aa290>,
 <Element 'application' at 0x1077aa050>,
 <Element 'application' at 0x1077aa250>,
 <Element 'application' at 0x1077aa4d0>,
 <Element 'application' at 0x1077aa710>,
 <Element 'application' at 0x1077aa910>,
 <Element 'application' at 0x1077aabd0>,
 <Element 'application' at 0x1077aadd0>,
 <Element 'application' at 0x1077aafd0>,
 <Element 'application' at 0x1077baa90>,
 <Element 'application' at 0x1077ba810>,
 <Element 'application' at 0x1077ba410>,
 <Element 'application' at 0x1077bae90>,
 <Element 'application' at 0x1077bab10>,
 <Element 'application' at 0x1077ba310>,
 <Element 'application' at 0x1077ba250>,
 <Element 'application' at 0x1077ba450>,
 <Element 'application' at 0x1077ba6d0>,
 <Element 'application' at 0x1077ba8d0>,
 <Element 'application' at 0x1077bab50>]

In [27]:
apps[3]


Out[27]:
<Element 'application' at 0x10770c790>

In [30]:
apps[3][0]


Out[30]:
<Element 'name' at 0x10770c810>

In [33]:
apps[3][1][1]


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-33-f12d411cb55b> in <module>()
----> 1 apps[3][1][1]

/Users/tonyw/anaconda/lib/python2.7/xml/etree/ElementTree.pyc in __getitem__(self, index)
    264 
    265     def __getitem__(self, index):
--> 266         return self._children[index]
    267 
    268     ##

IndexError: list index out of range

OK, so that method didn't yield any useful data. Have another try.


In [44]:
app = apps[1]

In [45]:
app


Out[45]:
<Element 'application' at 0x10770c290>

In [46]:
app[0]


Out[46]:
<Element 'name' at 0x10770c310>

In [47]:
app[0].text


Out[47]:
'Acrobat Uninstaller.app'

In [48]:
app[1].text


Out[48]:
'/Applications/Adobe Acrobat 9 Pro/Acrobat Uninstaller.app'

In [49]:
app[2].text


Out[49]:
'Acrobat Uninstaller version 9.0.0'

In [50]:
app[3].text


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-50-2044043fad41> in <module>()
----> 1 app[3].text

/Users/tonyw/anaconda/lib/python2.7/xml/etree/ElementTree.pyc in __getitem__(self, index)
    264 
    265     def __getitem__(self, index):
--> 266         return self._children[index]
    267 
    268     ##

IndexError: list index out of range

OK, so we now know how to access the data in an apllication element and how to get a list of those elements for a particular computer. So start thinking about what we need. Loop through the applicaitons and find Firefox.


In [58]:
for app in apps:
    print app[0].text, app[2].text


Acrobat Distiller.app 9.0.0
Acrobat Uninstaller.app Acrobat Uninstaller version 9.0.0
Activity Monitor.app 10.8.0
Adobe Acrobat Pro.app 9.0.0
Adobe Flash Player Install Manager.app 17.0.0.134
Adobe Photoshop Lightroom 5.app Adobe Photoshop Lightroom 5.5 [968504]
Adobe Updater.app Adobe Updater 6.2.0.1474
AirPort Utility.app 6.3.1
Alerts Daemon.app 12.3.5
App Store.app 1.2.2
AppleScript Editor.app 2.5.1
Audio MIDI Setup.app 3.0.5
Automator.app 2.3
Bluetooth File Exchange.app 4.1.7
Boot Camp Assistant.app 5.0.4
Calculator.app 10.8
Calendar.app 6.0
Chess.app 3.0
ColorSync Utility.app 4.8.0
Console.app 10.8
Contacts.app 7.1
Dashboard.app 1.8
Dictionary.app 2.2.1
DigitalColor Meter.app 5.0
Disk Utility.app 13
DVD Player.app 5.6
Equation Editor.app 12.1.0
Equation Editor.app 14.2.0
FaceTime.app 2.0
Firefox.app 27.0.1
Font Book.app 4.1
Game Center.app 1.0
GarageBand.app 6.0.5
Grab.app 1.7
Grapher.app 2.3
Hansa.app HansaWorld 5.3
iDVD.app 7.1.2
Image Capture.app 6.2
iMovie.app 9.0.9
iPhoto.app 9.4.3
iTunes.app 11.2.2
iWeb.app 3.0.4
Keychain Access.app 7.0
Launchpad.app 1.0
Mail.app 6.6
Messages.app 7.0.1
Microsoft Alerts Daemon.app 14.4.4
Microsoft Cert Manager.app 12.3.5
Microsoft Chart Converter.app 12.3.5
Microsoft Chart Converter.app 14.4.4
Microsoft Clip Gallery.app 12.3.5
Microsoft Clip Gallery.app 14.4.4
Microsoft Communicator.app 13.0.0
Microsoft Database Daemon.app 12.3.5
Microsoft Database Daemon.app 14.4.4
Microsoft Database Utility.app 12.3.5
Microsoft Database Utility.app 14.4.4
Microsoft Document Connection.app 12.3.5
Microsoft Document Connection.app 14.4.4
Microsoft Entourage.app 12.3.5
Microsoft Excel.app 12.3.5
Microsoft Excel.app 14.4.4
Microsoft Graph.app 12.3.5
Microsoft Graph.app 14.4.4
Microsoft Language Register.app 12.3.5
Microsoft Language Register.app 14.4.4
Microsoft Messenger.app 8.0.0
Microsoft Messenger.app 7.0.0
Microsoft Office Reminders.app 12.3.5
Microsoft Office Reminders.app 14.4.4
Microsoft Office Setup Assistant.app 12.3.5
Microsoft Office Setup Assistant.app 14.0.0
Microsoft Outlook.app 14.4.4
Microsoft PowerPoint.app 12.3.5
Microsoft PowerPoint.app 14.4.4
Microsoft Project Gallery.app 12.3.5
Microsoft Query n/a
Microsoft Query.app 12.0.0
Microsoft Remote Desktop.app 8.0.24875
Microsoft Sync Services.app 12.3.5
Microsoft Upload Center.app 14.4.4
Microsoft Word.app 12.3.5
Microsoft Word.app 14.4.4
Migration Assistant.app 5
Mission Control.app 1.2
MSMLServer n/a
My Day.app 12.3.5
My Day.app 14.4.4
Network Utility.app 1.6
Notes.app 1.5
Office365Service.app 14.4.4
Open XML for Excel.app 14.4.4
Organization Chart.app 12.3.5
Photo Booth.app 5.0.1
Preview.app 6.0.1
QuickTime Player.app 10.2
RAID Utility.app 3.0
Reminders.app 1.1
Remote Desktop Connection.app 2.1.0
Remove Office.app 12.3.5
Safari.app 6.0.5
Self Service.app 9.7
Solver.app 1.0
Stickies.app 9.0
SyncServicesAgent.app 14.4.4
System Information.app 10.8.1
System Preferences.app 12.0
Terminal.app 2.3
TextEdit.app 1.8
Time Machine.app 1.2
VoiceOver Utility.app 6.0
X11.app 1.0

So that shows us a list of installed applications and the version numbers. Getting closer!


In [59]:
for app in apps:
    if app[0].text == 'Firefox.app':
        vers = app[1].text

In [60]:
vers


Out[60]:
'/Applications/Firefox.app'

Did something wrong! Let's try again.


In [62]:
for app in apps:
    if app[0].text == 'Firefox.app':
        vers = app[2].text

In [63]:
vers


Out[63]:
'27.0.1'

Thst's better. Now for the rest of the information we need. First, the name of the user.

Look back at our XML. Almost at the bottom you will find a list of local accounts that include the real name of the user.


In [64]:
name = one_computer.find('.//realname')

In [65]:
name


Out[65]:
<Element 'realname' at 0x1077e4910>

In [66]:
name.text


Out[66]:
'Sarah'

OK, that's good enough. We would hope that in most places we ould get first and last name but this is not a big company.


In [67]:
serial = one_computer.find('general/serial_number')

In [68]:
serial


Out[68]:
<Element 'serial_number' at 0x1054cc750>

In [69]:
serial.text


Out[69]:
'W892317J66D'

Excellent. We now have enough information to start writing code.

The code to get the version number is complex enough it deserves a function of it's own. We should pass in the computer record but it would also be useful to pass in the name of the app.


In [72]:
def version(computer, app_name):
    vers = "Not Installed"
    for app in one_computer.findall('.//application'):
        if app[0].text == app_name:
            vers = app[2].text
            break
    return vers

In [73]:
version(one_computer, "Firefox.app")


Out[73]:
'27.0.1'

In [74]:
version(one_computer, "Not A Real App.app")


Out[74]:
'Not Installed'

Now we have the most complex part of our code written (and tested).


In [82]:
def version_list(computer_list, app_name):
    for item in computer_list:
        computer = j.Computer(item.id)
        v = version(computer, app_name)
        n = computer.find('.//realname').text
        s = computer.find('general/serial_number').text
        print "Name: " + n + " Serial Number: " + s + " Firefox version: " + v

In [84]:
version_list(computers, "Firefox.app")


Name: Carli Jackson Serial Number: W8930HM87XJ Firefox version: 27.0.1
Name: Administrator Serial Number: YM9275D90TG Firefox version: 27.0.1
Name: ADMIN Serial Number: YM9275CW0TG Firefox version: 27.0.1
Name: Adam Pisana Serial Number: W8928TA766D Firefox version: 27.0.1
Name: AB Serial Number: C02G74W4DJWV Firefox version: 27.0.1
Name: Ben Gracey Serial Number: YM9275A10TG Firefox version: 27.0.1
Name: Administrator Serial Number: YM9259310TF Firefox version: 27.0.1
Name: Atul Naik Serial Number: WQ9450DL66D Firefox version: 27.0.1
Name: Stuart Serial Number: W882502Q1SG Firefox version: 27.0.1
Name: David Joyce Serial Number: W80081T166E Firefox version: 27.0.1
Name: Home Serial Number: W89230XB66D Firefox version: 27.0.1
Name: Justin Clark Serial Number: VMTVKZvoDMS2 Firefox version: 27.0.1
Name: Ginny McAllister Serial Number: W8928TAF66D Firefox version: 27.0.1
Name: Matthew Solomon Serial Number: C02JD0TDDR54 Firefox version: 27.0.1
Name: Daniel Serial Number: C02JD7GRDR54 Firefox version: 27.0.1
Name: Zac Daroesman Serial Number: C02JD4P7DR54 Firefox version: 27.0.1
Name: Duncan McCracken Serial Number: C02JD0WSDR54 Firefox version: 27.0.1
Name: Joel Kosak Serial Number: C02JD046DR54 Firefox version: 27.0.1
Name: Mark Benjafield Serial Number: C02JFD7ZDV33 Firefox version: 27.0.1
Name: Brett Serial Number: C02LN53TFD57 Firefox version: 27.0.1
Name: Jon Tapia Serial Number: C02JF9WNDR54 Firefox version: 27.0.1
Name: Kevin Ho Serial Number: C02JD2Q0DR54 Firefox version: 27.0.1
Name: admin Serial Number: C02JD0BKDR54 Firefox version: 27.0.1
Name: Daryl Schulz Serial Number: C02JD4CSDR54 Firefox version: 27.0.1
Name: Ivan Krolo Serial Number: C02JD4SRDR54 Firefox version: 27.0.1
Name: Carissa Kiernan Serial Number: C02JD4YXDR54 Firefox version: 27.0.1
Name: Chris Garrety Serial Number: C02GW07LDJWT Firefox version: 27.0.1
Name: Peter Cannes Serial Number: C02JD04GDR54 Firefox version: 27.0.1
Name: FingerPrint Mobile Print Server Serial Number: C02GR9APDJWV Firefox version: 27.0.1
Name: Laura Dowd Serial Number: C02JF9WQDR54 Firefox version: 27.0.1
Name: John Ng Serial Number: C02KW6X6F5V8 Firefox version: 27.0.1
Name: Renai Ingersole Serial Number: C02K58BTFFT0 Firefox version: 27.0.1
Name: Andrew Hazon Serial Number: C02JD7J5DR54 Firefox version: 27.0.1
Name: Ruhul Amin Serial Number: W8928TBF66D Firefox version: 27.0.1
Name: Andrew Serial Number: C02JD0D4DR54 Firefox version: 27.0.1
Name: James Edge Serial Number: C02HH17QDV7P Firefox version: 27.0.1
Name: Villa Kembali Serial Number: YM8241KEZE3 Firefox version: 27.0.1
Name: Mipps Serial Number: C02LL7UXFH00 Firefox version: 27.0.1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-84-9fab62c9149f> in <module>()
----> 1 version_list(computers, "Firefox.app")

<ipython-input-82-fef6fdf2746b> in version_list(computer_list, app_name)
      5         n = computer.find('.//realname').text
      6         s = computer.find('general/serial_number').text
----> 7         print "Name: " + n + " Serial Number: " + s + " Firefox version: " + v

TypeError: cannot concatenate 'str' and 'NoneType' objects

Hmmm, I think we need some better error checking, but that's almost there. How about we put some more information in the output and do some better error checking. We know v can't be the problem but perhaps the real name is blank so we could check we have a string and adjust accordingly.


In [91]:
def version_list(computer_list, app_name):
    for item in computer_list:
        computer = j.Computer(item.id)
        v = version(computer, app_name)
        n = computer.find('.//realname').text
        if type(n) is not str:
            n = "Blank"
        s = computer.find('general/serial_number').text
        print "Id: " + str(item.id) + " Name: " + n + " Serial Number: " + s + " Firefox version: " + v

In [92]:
version_list(computers, "Firefox.app")


Id: 4 Name: Carli Jackson Serial Number: W8930HM87XJ Firefox version: 27.0.1
Id: 5 Name: Administrator Serial Number: YM9275D90TG Firefox version: 27.0.1
Id: 84 Name: ADMIN Serial Number: YM9275CW0TG Firefox version: 27.0.1
Id: 10 Name: Adam Pisana Serial Number: W8928TA766D Firefox version: 27.0.1
Id: 16 Name: AB Serial Number: C02G74W4DJWV Firefox version: 27.0.1
Id: 30 Name: Ben Gracey Serial Number: YM9275A10TG Firefox version: 27.0.1
Id: 34 Name: Administrator Serial Number: YM9259310TF Firefox version: 27.0.1
Id: 60 Name: Atul Naik Serial Number: WQ9450DL66D Firefox version: 27.0.1
Id: 152 Name: Stuart Serial Number: W882502Q1SG Firefox version: 27.0.1
Id: 77 Name: David Joyce Serial Number: W80081T166E Firefox version: 27.0.1
Id: 83 Name: Home Serial Number: W89230XB66D Firefox version: 27.0.1
Id: 95 Name: Justin Clark Serial Number: VMTVKZvoDMS2 Firefox version: 27.0.1
Id: 97 Name: Ginny McAllister Serial Number: W8928TAF66D Firefox version: 27.0.1
Id: 102 Name: Matthew Solomon Serial Number: C02JD0TDDR54 Firefox version: 27.0.1
Id: 99 Name: Daniel Serial Number: C02JD7GRDR54 Firefox version: 27.0.1
Id: 100 Name: Zac Daroesman Serial Number: C02JD4P7DR54 Firefox version: 27.0.1
Id: 103 Name: Duncan McCracken Serial Number: C02JD0WSDR54 Firefox version: 27.0.1
Id: 105 Name: Joel Kosak Serial Number: C02JD046DR54 Firefox version: 27.0.1
Id: 137 Name: Mark Benjafield Serial Number: C02JFD7ZDV33 Firefox version: 27.0.1
Id: 131 Name: Brett Serial Number: C02LN53TFD57 Firefox version: 27.0.1
Id: 108 Name: Jon Tapia Serial Number: C02JF9WNDR54 Firefox version: 27.0.1
Id: 109 Name: Kevin Ho Serial Number: C02JD2Q0DR54 Firefox version: 27.0.1
Id: 110 Name: admin Serial Number: C02JD0BKDR54 Firefox version: 27.0.1
Id: 111 Name: Daryl Schulz Serial Number: C02JD4CSDR54 Firefox version: 27.0.1
Id: 158 Name: Ivan Krolo Serial Number: C02JD4SRDR54 Firefox version: 27.0.1
Id: 112 Name: Carissa Kiernan Serial Number: C02JD4YXDR54 Firefox version: 27.0.1
Id: 144 Name: Chris Garrety Serial Number: C02GW07LDJWT Firefox version: 27.0.1
Id: 113 Name: Peter Cannes Serial Number: C02JD04GDR54 Firefox version: 27.0.1
Id: 114 Name: FingerPrint Mobile Print Server Serial Number: C02GR9APDJWV Firefox version: 27.0.1
Id: 115 Name: Laura Dowd Serial Number: C02JF9WQDR54 Firefox version: 27.0.1
Id: 116 Name: John Ng Serial Number: C02KW6X6F5V8 Firefox version: 27.0.1
Id: 117 Name: Renai Ingersole Serial Number: C02K58BTFFT0 Firefox version: 27.0.1
Id: 119 Name: Andrew Hazon Serial Number: C02JD7J5DR54 Firefox version: 27.0.1
Id: 122 Name: Ruhul Amin Serial Number: W8928TBF66D Firefox version: 27.0.1
Id: 123 Name: Andrew Serial Number: C02JD0D4DR54 Firefox version: 27.0.1
Id: 128 Name: James Edge Serial Number: C02HH17QDV7P Firefox version: 27.0.1
Id: 129 Name: Villa Kembali Serial Number: YM8241KEZE3 Firefox version: 27.0.1
Id: 130 Name: Mipps Serial Number: C02LL7UXFH00 Firefox version: 27.0.1
Id: 132 Name: Blank Serial Number: C02LM0L9FD57 Firefox version: 27.0.1
Id: 133 Name: Geoff Smyth Serial Number: W8921X6966D Firefox version: 27.0.1
Id: 134 Name: Sarah Serial Number: W892317J66D Firefox version: 27.0.1
Id: 135 Name: Dominik Glaubitz Serial Number: C02KT2D5FFRP Firefox version: 27.0.1
Id: 136 Name: Joel Kosak Serial Number: C02M5DZUFH00 Firefox version: 27.0.1
Id: 138 Name: Russell Kelly Serial Number: C02JD0RVDR54 Firefox version: 27.0.1
Id: 140 Name: LightSpeed Server Serial Number: W88416711G0 Firefox version: 27.0.1
Id: 139 Name: Vicki Rumsey Serial Number: C02JP1CYDKQ5 Firefox version: 27.0.1
Id: 141 Name: Jessica Bradley Serial Number: C02JP0CEF8V7 Firefox version: 27.0.1
Id: 142 Name: LightSpeed Server Serial Number: C02LKVNCFD57 Firefox version: 27.0.1
Id: 146 Name: anton Serial Number: C02KR0PWFFT1 Firefox version: 27.0.1
Id: 143 Name: Administrator Serial Number: QZ04400F20G Firefox version: 27.0.1
Id: 145 Name: Rob Ruigrok Serial Number: C02JT3JBDKQ2 Firefox version: 27.0.1
Id: 147 Name: Shcott Serial Number: C02JD3LBDR54 Firefox version: 27.0.1
Id: 150 Name: Demo Serial Number: C02JD7AXDR54 Firefox version: 27.0.1
Id: 148 Name: Andrew Gallaher Serial Number: C02KG13JDRVD Firefox version: 27.0.1
Id: 149 Name: FingerPrint Mobile Print Server Serial Number: W80145DMAGV Firefox version: 27.0.1
Id: 151 Name: Kathy McCarthy Serial Number: C02JD5Z6DR54 Firefox version: 27.0.1
Id: 153 Name: Colour iMac 10.6 Serial Number: W873038ZX86 Firefox version: 27.0.1
Id: 155 Name: Lightspeed Server Serial Number: C02JHHG6DR53 Firefox version: 27.0.1
Id: 154 Name: Emma Scicluna Serial Number: C02GR91DDJWV Firefox version: 27.0.1
Id: 156 Name: Duane Coert Serial Number: C02JP08JF8V7 Firefox version: 27.0.1
Id: 157 Name: Imac Serial Number: W8748761X89 Firefox version: 27.0.1
Id: 159 Name: Jason Griffiths Serial Number: W800835G66D Firefox version: 27.0.1
Id: 160 Name: Steve Burke Serial Number: W8012NXPAGW Firefox version: 27.0.1
Id: 161 Name: Jeremy Serial Number: C02GRJY9DJWT Firefox version: 27.0.1
Id: 162 Name: Scotty Thomas Serial Number: W8946GSG7XJ Firefox version: 27.0.1
Id: 163 Name: Matthew  Serial Number: W80081TB66E Firefox version: 27.0.1
Id: 172 Name: Brendon Serial Number: C2QH100ADRJF Firefox version: 27.0.1
Id: 164 Name: Ashley McKinlay Serial Number: C02JD03CDR54 Firefox version: 27.0.1
Id: 165 Name: Service Warehouse Serial Number: YM823065ZE3 Firefox version: 27.0.1
Id: 175 Name: John Kitanoski Serial Number: W8922CBX7XJ Firefox version: 27.0.1
Id: 166 Name: Adam Lowe Serial Number: C02JD2GTDR54 Firefox version: 27.0.1
Id: 167 Name: admin Serial Number: W8006038A55 Firefox version: 27.0.1
Id: 170 Name: Dave O'Donoghoe Serial Number: C02JG53LDR53 Firefox version: 27.0.1
Id: 169 Name: Graham Prince Serial Number: C02KX9RVF6T6 Firefox version: 27.0.1
Id: 168 Name: LightSpeed Server Serial Number: C02JHF6SDR54 Firefox version: 27.0.1
Id: 171 Name: Adam Cunningham Serial Number: C02JD3N0DR54 Firefox version: 27.0.1
Id: 173 Name: Fiona Stubbs Serial Number: C02F9L41DF8V Firefox version: 27.0.1
Id: 174 Name: compnow Serial Number: C02JD7H1DR54 Firefox version: 27.0.1
Id: 176 Name: Dilanka Fernando Serial Number: C02HQ0FEDRVD Firefox version: 27.0.1
Id: 177 Name: Anura Pieries Serial Number: W800831K7XJ Firefox version: 27.0.1
Id: 178 Name: Steve Burke Serial Number: C02J86GLDKQ4 Firefox version: 27.0.1
Id: 179 Name: Amelia Balmer Serial Number: W800602KA55 Firefox version: 27.0.1
Id: 180 Name: Lightspeed Server Serial Number: C02JD0FRDR54 Firefox version: 27.0.1
Id: 181 Name: Lightspeed Server Serial Number: C02KT0Y5DRVG Firefox version: 27.0.1
Id: 182 Name: Metta Weeks Serial Number: C02N2J4HG3QJ Firefox version: 27.0.1
Id: 183 Name: Adam Blacklock Serial Number: C02KL1JTDRVG Firefox version: 27.0.1
Id: 184 Name: kevin Serial Number: C02JF9X2DR54 Firefox version: 27.0.1
Id: 185 Name: Gerard Kelso Serial Number: C02N2JYFG3QJ Firefox version: 27.0.1
Id: 186 Name: Aidan Evans Serial Number: C02NM2ECG3QJ Firefox version: 27.0.1
Id: 187 Name: Jon Dance Serial Number: C02JD0HVDR54 Firefox version: 27.0.1
Id: 188 Name: Ray Serial Number: C02LW75PFH01 Firefox version: 27.0.1
Id: 189 Name: Darren McKay Serial Number: C02LWENJFGYY Firefox version: 27.0.1
Id: 190 Name: Demi A Burke Serial Number: C02JKADSDR54 Firefox version: 27.0.1
Id: 192 Name: Local Admin Serial Number: C02GD15DDRQ4 Firefox version: 27.0.1
Id: 191 Name: Ben Radcliffe Serial Number: C02MQ0TYF6T6 Firefox version: 27.0.1
Id: 193 Name: Tam Nguyen Serial Number: C02MP7BLF6T6 Firefox version: 27.0.1
Id: 194 Name: Kylie Hanger Serial Number: VM7DWIBwUokg Firefox version: 27.0.1
Id: 195 Name: Admin Serial Number: C02KW24MF5N7 Firefox version: 27.0.1
Id: 196 Name: Jarrad Serial Number: C02LL9DDFGYY Firefox version: 27.0.1

There you go! Working fine, and notice in ID 132 we have a name of "Blank" - my guess was right.

So there is an example of talking to the JSS. If you want to know more then here's some links to explore :-

Conclusion

I hope I've shown you how you can use python-jss to talk to your JSS server and extract all the information you might need.

I hope I've also shown you how you can use the power of IPython to develop your code. Use it to explore your data and develop your code piece by piece before putting it together into it's final form.


In [ ]: